package com.hongdee.crm.carConfig.service;

import com.hongdee.crm.carConfig.entity.TCrmCarRef;

import java.util.List;
import java.util.Map;

/**
 * Created by My on 2017/2/20.
 */
public interface ITCrmCarRefService {
    /**
     * @param data TCrmCarRef 实体类
     * @return Map
     * @throws Exception
     * @desc
     * @author 徐钦勇
     */
    public TCrmCarRef saveOrUpdate(TCrmCarRef data) throws Exception;

    /**
     * @param start 当前页面
     * @param limit 页面大小
     * @return Map
     * @throws Exception
     * @desc 分页查询
     * @author 徐钦勇
     */
    public Map page(String start, String limit, String name, String group, String type, String oid) throws Exception;

    /**
     * @param id     主键
     * @param status 状态
     * @return Map
     * @throws Exception
     * @desc 启用停用
     * @author 徐钦勇
     */
    public void update(String id, String status) throws Exception;

    /**
     * @param id 主键
     * @return Map
     * @throws Exception
     * @desc 车辆分配明细
     * @author 徐钦勇
     */
    public Map info(String id) throws Exception;

    /**
     * @param start 当前页面
     * @param limit 页面大小
     * @param role
     * @return Map
     * @throws Exception
     * @desc 人员分页查询
     * @author 徐钦勇
     */
    public Map employeePage(String start, String limit, String role) throws Exception;

    /**
     * 查询公司下该角色的人
     * @param type
     * @param companyId
     * @return
     * @throws Exception
     */
    public List<Map<String, Object>> queryUserCombo(String uid,String type, String companyId) throws Exception;

    /**
     * 获得部门信息
     * @param opId
     * @return
     * @throws Exception
     */
    public List<Map<String, Object>> buildDeptChild(List<String> deptList,String opId) throws Exception;
    /**
     * @param objId 删除的主键
     * @return Map
     * @throws Exception
     * @desc
     * @author 徐钦勇
     */
    public boolean deleteById(String objId) throws Exception;
    /**
     * 公司下所有的角色
     */
    public List<Map<String,Object>> roleCombo(String uid)throws Exception;
    /**
     * 公司下所有用户
     *
     * @param uid
     * @return
     * @throws Exception
     */
    public List<Map<String, Object>>  uesrCombo(String uid) throws Exception;
    /**
     * 公司下所有人员
     * @param
     * @return
     * @throws Exception
     */
    public List<Map<String, Object>> queryUserCombo1( String uid,String companyId) throws Exception;

    /**
     * @Name: 部门下所有人员
     * @Author: Liu XiaoLong
     * @Date: 2018/3/9 17:15
     * @Remark:
     */
    public List<Map<String, Object>> queryOrganUserCombo( String uid,String companyId) throws Exception;

}
